"""SchedulerAI - 简化的施工进度优化引擎

基于Google OR-Tools的简化施工调度系统，专注于核心调度优化功能。

主要功能:
- 智能调度算法
- 复杂约束支持 (FS、SS、FF、SF)
- 资源约束优化
- 简化的API接口
- CSV数据格式支持
- 统一的错误处理机制
- 完整的日志记录系统

快速开始:
    from scheduler_ai import SchedulerAI

    # 创建API实例
    api = SchedulerAI()

    # 执行基础调度
    result = api.schedule_project("project.csv")

错误处理:
    from scheduler_ai.exceptions import SchedulerError, DataParsingError
    from scheduler_ai.logging_config import setup_logging

    # 设置日志
    setup_logging(log_level="INFO", log_file="scheduler.log")

    if result["success"]:
        print(f"项目工期: {result['makespan']} 天")
        print(f"任务数量: {result['task_count']}")

传统使用方式:
    from scheduler_ai import SchedulerService

    scheduler = SchedulerService()
    result = scheduler.create_optimized_schedule("project.csv")

    if result.success:
        print(f"工期: {result.makespan} 天")
"""

__version__ = "2.0.0"
__author__ = "SchedulerAI Team"

# 主要API接口
from .api import SchedulerAI

# 数据模型
from .data_models import Activity, ScheduleResult, SolverResult

# 错误处理工具 - 仅保留实际使用的导入

# 异常类
from .exceptions import DataParsingError, SchedulerError, ValidationError

# 日志配置 - 仅保留实际使用的导入

# 传统接口（向后兼容）
from .scheduler_service import SchedulerService

# 扩展功能已移除，保持简化架构
_EXTENSIONS_AVAILABLE = False


# 便捷函数
def get_version() -> str:
    """获取版本信息"""
    return __version__


def create_api() -> SchedulerAI:
    """创建API实例的便捷函数"""
    return SchedulerAI()


def get_version_info() -> dict:
    """获取详细版本信息"""
    return {
        "version": __version__,
        "author": __author__,
        "extensions_available": _EXTENSIONS_AVAILABLE,
        "supported_features": {
            "basic_scheduling": True,
            "resource_constraints": True,
            "dependency_types": ["FS", "SS", "FF", "SF"],
            "simplified_api": True,
        },
    }


# 包的公开接口
__all__ = [
    # 版本信息
    "__version__",
    "__author__",
    # 主要API
    "SchedulerAI",
    # 传统接口
    "SchedulerService",
    # 数据模型
    "Activity",
    "ScheduleResult",
    "SolverResult",
    # 异常类
    "SchedulerError",
    "DataParsingError",
    "ValidationError",
    # 便捷函数
    "get_version",
    "create_api",
    "get_version_info",
]
